//
//  DeviceSetupWindowController.h
//  MusicAnalyzer
//
//  Created by jiro on 12/03/24.
//  Copyright 2012 jiro music. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#import <vector>

#import "DeviceTableDataSource.h"
#import "../../../Common/MidiSystem.h"

@interface DeviceSetupWindowController : NSWindowController {

	IBOutlet DeviceTableDataSource* deviceDataSource;
	
	IBOutlet id acvtiveDeviceNameLabel;
	
	IBOutlet id disblayOnlyMidiDeviceButton;

	sc::DeviceInfo* activeDeviceInfo;

	id appController;		//	the back pointer

	sc::MidiInterface0* midiInterface0;

}

@property( assign, readwrite ) id appController;

//	---- IBActions ---- //
- (IBAction) scanPort: (id) sender;
- (IBAction) midiCheckBoxClicked: (id) sender;
- (IBAction) deviceTableClicked: (id) sender;
- (IBAction) displayOnlyMidiDeviceButtonClicked: (id) sender;
- (IBAction) pushOkButton: (id) sender;
- (IBAction) selectMidiParseOption: (id) sender;
//	------------------- //


- (void) scanUsbPortThreadFunction: (id) arg;
- (void) setDeviceInfos: ( const std::vector< sc::DeviceInfo* >* ) infos;
- (sc::MidiInterface0*) createMidiInterface: ( const sc::DeviceInfo* ) info;
- (void) destroyMidiInterface;

@end
